package com.dao;

import com.content.App;
import com.model._do.AppointmentDO;
import com.model._do.EquipmentDO;
import com.model._do.UserDO;
import com.model.dto.SuperviseDTO.Search.AppointSearch;
import org.springframework.stereotype.Repository;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

@Repository("appointDAO")
public interface AppointDAO {

    public List<AppointmentDO> getAppointmentByDocAndEqu(Map<String, String> searchMap);

    /**
     * get time by userid:
     * 1. has agreed
     * 2. waiting agreed
     */
    public List<AppointmentDO> getAppointTime(HashMap param);

    public List<AppointmentDO> getAppointPast(String entityId);

    public List<AppointmentDO> getIfExistAppoint(HashMap param);

    public List<AppointmentDO> searchAppoint(AppointSearch search);

    public AppointmentDO getById(AppointmentDO appoint);

    public void flushAppoint(AppointmentDO appoint);

    public void doAppointmentEquDoc(AppointmentDO appointment);

    public List<AppointmentDO> getDoctorReject();

    public List<AppointmentDO> getPatientReject();

    public List<AppointmentDO> getDoctorNotAgr();

    public List<AppointmentDO> getPatientNotAgr();

    public List<AppointmentDO> getAgreeNotCon();

    public List<AppointmentDO> getAgreeCon();

    public List<AppointmentDO> getUnConfirm();
}
